diff options
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Setting.kt')
-rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Setting.kt | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Setting.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Setting.kt new file mode 100644 index 000000000..11cd10a1e --- /dev/null +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/settings/model/Setting.kt @@ -0,0 +1,24 @@ +package org.yuzu.yuzu_emu.features.settings.model + +/** + * Abstraction for a setting item as read from / written to yuzu's configuration ini files. + * These files generally consist of a key/value pair, though the type of value is ambiguous and + * must be inferred at read-time. The type of value determines which child of this class is used + * to represent the Setting. + */ +abstract class Setting( + /** + * @return The identifier used to write this setting to the ini file. + */ + val key: String, + /** + * @return The name of the header under which this Setting should be written in the ini file. + */ + val section: String +) { + + /** + * @return A representation of this Setting's backing value converted to a String (e.g. for serialization). + */ + abstract val valueAsString: String +} |